﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cmdLineParserModule
{
    /// <summary>
    /// Main abstract exception used in whole project cmdLineParser
    /// </summary>
    public abstract class ParserException : ApplicationException
    {
        /// <summary>
        /// Creates parser exception
        /// </summary>
        public ParserException() : base() { }

        /// <summary>
        /// Creates parser exception with message
        /// </summary>
        /// <param name="Message">Message of exception</param>
        public ParserException(string Message) : base(Message) { }

        /// <summary>
        /// Creatoes parser exception with message and inner exception
        /// </summary>
        /// <param name="Message">Message of exception</param>
        /// <param name="innerEx">Inner exception</param>
        public ParserException(string Message, Exception innerEx) : base(Message, innerEx) { }

        /// <summary>
        /// Creates parser exception with formatted message
        /// </summary>
        /// <param name="format">Format string for message</param>
        /// <param name="parameters">Params for format string</param>
        public ParserException(string format, params object[] parameters) : base(string.Format(format, parameters)) { }
    }

}
